/**
 * 中国色 接口及相关类定义
 * @author keller
 * @date 2025-06-26 22:35:09
 */
import request from '@/utils/request'
import {ApiResponse,PageData,PageQuery,BaseDetail} from "@/ts/CommonTypes"
import { downloadExcel } from "@/api/ApiUtils"
const urlPrefix = "/api/sysChineseColor"

/**
 * 中国色 视图类，用于在页面上展示数据
 */
export class SysChineseColorVO extends BaseDetail{
   // 颜色名称
   colorName: string | null ;
   // 分类编号
   typeCode: number | null ;
   // 颜色值
   colorValue: string | null ;
    constructor(init?: Partial<SysChineseColorVO>) {
        super();
        if (init) {
            Object.assign(this, init);
        }
    }
};

/**
 * 中国色 查询类，用于查询构造条件
 */
export class SysChineseColorQuery extends PageQuery{
   // 颜色名称
   colorName: string| null ;
   // 分类编号
   typeCode: number| null ;
    constructor(init?: Partial<SysChineseColorQuery>) {
        super();
        if (init) {
            Object.assign(this, init);
        }
    }
};


/**
 * 查询详情
 */
export function apiGetDetail(id:Number | String){
    return request<ApiResponse<SysChineseColorVO>>({
        url: urlPrefix + '/baseGetById',
        method: 'GET',
        params: { id },
    })
}

/**
 * 分页查询
 */
export function apiGetList(query:SysChineseColorQuery ) {
    return request<ApiResponse<PageData<SysChineseColorVO>>>({
        url: urlPrefix + '/basePage',
        method: 'POST',
        data: query,
    })
}

/**
 * 保存数据
 */
export function apiSave(vo:SysChineseColorVO) {
    return request({ url: urlPrefix + '/baseSave',data: vo ,method: 'POST'});
}

/**
 * 删除数据
 */
export function apiDeleteById(id:Number | String){
    return request({ url: urlPrefix + '/baseDelete',data: {id:id},method: 'POST'});
}

/**
 * 数据导出
 */
export function apiExportList(query: SysChineseColorQuery) {
    request.post(urlPrefix + '/baseExport', query, { responseType: "blob" })
        .then((res: Blob) => {
            downloadExcel(res, "SysChineseColor列表.xlsx")
        })
        .catch(error => {
            console.error("导出失败:", error)
        })
}



